Peer-to-peer (P2P) networks, which served as the foundation of the Internet, are currently experiencing a resurgence in popularity and use. The departure from the most recent server-centric driven networks, however, requires that each individual peer acquire and maintain contact and location information for the other peers and discoverable resources available on the network. While some hybrid P2P systems exist that utilize a server to act as an index or central address depository of available peers and/or resources, true P2P systems do not rely on any such servers. As such, and with the sheer number of peers and discoverable resources available on a large scale P2P network, internal management of the stored contact and directory information within each peer becomes a critically important task. Without such a management system, the peer's own memory can quickly become consumed with this contact and directory information.
Many distributed resolution mechanisms for P2P networks are designed around a structured knowledge of the name space in which peer and resource resolution is being performed. The name space knowledge that is developed and maintained is usually structured around each name that is locally registered in the name space. That is to say, information about other peers within a certain distance of the registered name is maintained in the knowledge base for each registered name. When two or more names are registered locally, there can be significant overlap between the knowledge bases maintained for each name, especially when the names are registered in close proximity to one another. This redundant knowledge consumes additional resources at each node and throughout the network. Considering that a typical peer will have several, possibly in the hundreds, of names registered (to account for each discoverable resource, file, service, application, etc. available at that peer), the resulting redundancy in knowledge bases becomes intolerable. In some cases, the pieces of information stored on a single host can exceed the number of active pieces of information in the entire name space due to the duplication of this information in the overlapping knowledge bases.
There exists a need, therefore, for a memory structure and information maintenance system that allows efficient P2P name resolution through the acquisition and maintenance of a knowledge base for registered names in the P2P namespace that does not consume excessive peer resources through the duplication of information for multiple name/resource registrations.